// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    userInfo: {},
    hasUserInfo: false,
    statusBarHeight: 10, //顶部状态栏高度
    capsuleObjHeight: 20, //capsule 高度
  },
  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },

  //可以在模拟器唤起授权 获得用户信息
  getUserProfile() {
    wx.getUserProfile({
      desc: "授权登录后，方可使用",
      success: (res) => {
        console.log("成功");
        console.log(res.rawData);
        this.onGetUserInfo(res);
      },
      fail: (res) => {
        console.log("失败");
        console.log(res);
      },
    });
  },

  onGetUserInfo(info_res) {
    var that = this;
    if (info_res) {
      wx.showLoading({
        title: '登录中',
        mask: true
      })
      // 1. 小程序通过wx.login()获取code
      wx.login({
        success: function (login_res) {
          // 2. 小程序通过wx.request()发送code到开发者服务器
          var data = {
            code: login_res.code, //临时登录凭证
            rawData: info_res.rawData, //用户非敏感信息
            signature: info_res.signature, //签名
            encrypteData: info_res.encryptedData, //用户敏感信息
            iv: info_res.iv //解密算法的向量
          };
          app.wxapi('POST', "/user/user-wechat/login", data, "application/x-www-form-urlencoded", (res) => {
            console.log(res)
            if (res.success) {
              wx.showToast({
                title: '登录成功',
              })
              that.setData({
                userInfo: JSON.parse(info_res.rawData),
                hasUserInfo: true
              });
              // 7.小程序存储skey（自定义登录状态）到本地
              app.globalData.userInfo = info_res.rawData;
              app.globalData.satoken = res.data.skey;
              console.log(app.globalData.satoken);
              //wx.setStorageSync('userInfo', info_res.rawData);
              //wx.setStorageSync('skey', res.data.data);
            } else {
              wx.hideLoading();
              wx.showModal({
                title: '提示',
                content: '请重新点击授权登录',
              });
            }
          }, (err) => {
            //调用服务端登录接口失败
            console.log(err.errMsg)
          });
        }
      })
    }
  },

  logout() {
    this.setData({
      hasUserInfo: false
    })
    app.globalData.userInfo = null
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    var capsuleObjHeight = app.globalData.capsuleObj.height + (app.globalData.capsuleObj.top - app.globalData.statusBarHeight) * 2;
    this.setData({
      statusBarHeight: app.globalData.titleHeight,
      capsuleObjHeight: capsuleObjHeight
    });
  },
})